There exist in the art many compression methods. Some compression methods, such as Lempel-Ziv (LZ), may be used for the processing of any kind of data. Other compression techniques relate to specific types of data. By taking advantage of information known about the specific type of data being compressed, these compression methods achieve better compression ratios, at least on the average.
Image compression methods may be lossless, in which case there is no degradation in image quality or may be lossy in which case the image quality is degraded. One challenge of lossy compression methods is to perform the compression with minimal quality degradation. One class of lossy compression methods includes bounded compression methods, which methods result in an image in which the loss of data of each pixel is bounded.
One of the existing compression methods for images is lossless JPEG 2000, which achieves an average compression ratio of 30-40%. The lossless JPEG-2000 compression method uses a wavelet transform and is therefore complex and requires large memory resources.
The lossless compression low-complexity (LOCO-I) compression method, described for example in Weinberger, M. J., et al., “LOCO-I: A Low Complexity, Context-Based, Lossless Image Compression Algorithm”, Proceedings of the IEEE Data Compression Conference, Snowbird, Utah, March-April 1996, pp. 140-149, the disclosure of which is incorporated herein by reference, is a lossless or nearly lossless method of compression. For each pixel, the LOCO-I compression method generates a predictor based on three neighboring pixels. The difference between the actual value of the pixel and the predictor of the pixel is encoded using a Golomb code, which adaptively generates a Huffman code under an assumption that the compressed data is distributed exponentially. Each Golomb code is defined by a pair of parameters, which are the mean of the values and the decay of the values. Different code parameters are used for different contexts, the context differing along the image according to the value of the predictor. In addition, LOCO-I uses run-length to describe a stream of zero-valued predictions. Hardware implementation of the LOCO-I compression method is relatively complex, as a large pipeline is required for tracking the context parameters.
Another image compression method is the adaptive recursive interpolative differential PCM (ARIDPCM), described in MIL-STD-188-197A, Oct. 12, 2004, the disclosure of which is incorporated herein by reference. In the ARIDPCM method, the image is divided into blocks of 8×8 pixels and predictors are generated in recursive interpolation of intermediate values, beginning from the lowest right corner of the block and the values of corner values of neighboring left and upper blocks. The interpolation is performed in four levels, each level using values from the previous levels for generating the predictor. The difference between the actual value and the predictor of each pixel is encoded using a fixed code with a predetermined number of bits according to the level of the pixel and the image complexity of the block. ARIDPCM is a lossy compression method and is not suitable for environments in which high quality images are required. ARIDPCM is a simple compression method but does not achieve high compression ratios.
Other image compression methods are described in U.S. Pat. No. 6,654,503 to Sudharsanan et al., U.S. Pat. No. 6,269,193 to Young et al., and U.S. patent publication 2004/0071356 to Sudharsanan et al., the disclosures of all of which are incorporated herein by reference.